import { defineStore } from "pinia";
import { ref } from "vue";
const useCart = defineStore(
  "cart",
  () => {
    const cart = ref([]);
    const addToCart = (goods) => {
      const item = cart.value.find((item) => goods.id == item.id);
      if (item) {
        item.num += goods.num;
      } else {
        cart.value.push(goods);
      }
    };
    const removeCart = (id) => {
      cart.value.forEach((item, index) => {
        if (item.id == id) {
          cart.value.splice(index, 1);
        }
      });
    };
    const cartCount = () => {
      let sum = 0;
      cart.value.forEach((item) => {
        sum += item.num;
      });
      return sum || false;
    };
    return { cart, addToCart, removeCart, cartCount };
  },
  {
    persist: {
      enabled: true,
      strategies: [
        {
          key: "cart",
          storage: localStorage,
        },
      ],
    },
  }
);
export default useCart;
